/**
 * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package com.inkwell.internet.productregistration.model;

import com.liferay.portal.kernel.bean.AutoEscape;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.model.BaseModel;
import com.liferay.portal.model.CacheModel;
import com.liferay.portal.service.ServiceContext;

import com.liferay.portlet.expando.model.ExpandoBridge;

import java.io.Serializable;

import java.util.Date;

/**
 * The base model interface for the PRUser service. Represents a row in the &quot;PR_PRUser&quot; database table, with each column mapped to a property of this class.
 *
 * <p>
 * This interface and its corresponding implementation {@link com.inkwell.internet.productregistration.model.impl.PRUserModelImpl} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link com.inkwell.internet.productregistration.model.impl.PRUserImpl}.
 * </p>
 *
 * @author NBNguyen
 * @see PRUser
 * @see com.inkwell.internet.productregistration.model.impl.PRUserImpl
 * @see com.inkwell.internet.productregistration.model.impl.PRUserModelImpl
 * @generated
 */
public interface PRUserModel extends BaseModel<PRUser> {
	/*
	 * NOTE FOR DEVELOPERS:
	 *
	 * Never modify or reference this interface directly. All methods that expect a p r user model instance should use the {@link PRUser} interface instead.
	 */

	/**
	 * Returns the primary key of this p r user.
	 *
	 * @return the primary key of this p r user
	 */
	public long getPrimaryKey();

	/**
	 * Sets the primary key of this p r user.
	 *
	 * @param primaryKey the primary key of this p r user
	 */
	public void setPrimaryKey(long primaryKey);

	/**
	 * Returns the pr user ID of this p r user.
	 *
	 * @return the pr user ID of this p r user
	 */
	public long getPrUserId();

	/**
	 * Sets the pr user ID of this p r user.
	 *
	 * @param prUserId the pr user ID of this p r user
	 */
	public void setPrUserId(long prUserId);

	/**
	 * Returns the pr user uuid of this p r user.
	 *
	 * @return the pr user uuid of this p r user
	 * @throws SystemException if a system exception occurred
	 */
	public String getPrUserUuid() throws SystemException;

	/**
	 * Sets the pr user uuid of this p r user.
	 *
	 * @param prUserUuid the pr user uuid of this p r user
	 */
	public void setPrUserUuid(String prUserUuid);

	/**
	 * Returns the first name of this p r user.
	 *
	 * @return the first name of this p r user
	 */
	@AutoEscape
	public String getFirstName();

	/**
	 * Sets the first name of this p r user.
	 *
	 * @param firstName the first name of this p r user
	 */
	public void setFirstName(String firstName);

	/**
	 * Returns the last name of this p r user.
	 *
	 * @return the last name of this p r user
	 */
	@AutoEscape
	public String getLastName();

	/**
	 * Sets the last name of this p r user.
	 *
	 * @param lastName the last name of this p r user
	 */
	public void setLastName(String lastName);

	/**
	 * Returns the address1 of this p r user.
	 *
	 * @return the address1 of this p r user
	 */
	@AutoEscape
	public String getAddress1();

	/**
	 * Sets the address1 of this p r user.
	 *
	 * @param address1 the address1 of this p r user
	 */
	public void setAddress1(String address1);

	/**
	 * Returns the address2 of this p r user.
	 *
	 * @return the address2 of this p r user
	 */
	@AutoEscape
	public String getAddress2();

	/**
	 * Sets the address2 of this p r user.
	 *
	 * @param address2 the address2 of this p r user
	 */
	public void setAddress2(String address2);

	/**
	 * Returns the city of this p r user.
	 *
	 * @return the city of this p r user
	 */
	@AutoEscape
	public String getCity();

	/**
	 * Sets the city of this p r user.
	 *
	 * @param city the city of this p r user
	 */
	public void setCity(String city);

	/**
	 * Returns the state of this p r user.
	 *
	 * @return the state of this p r user
	 */
	@AutoEscape
	public String getState();

	/**
	 * Sets the state of this p r user.
	 *
	 * @param state the state of this p r user
	 */
	public void setState(String state);

	/**
	 * Returns the postal code of this p r user.
	 *
	 * @return the postal code of this p r user
	 */
	@AutoEscape
	public String getPostalCode();

	/**
	 * Sets the postal code of this p r user.
	 *
	 * @param postalCode the postal code of this p r user
	 */
	public void setPostalCode(String postalCode);

	/**
	 * Returns the country of this p r user.
	 *
	 * @return the country of this p r user
	 */
	@AutoEscape
	public String getCountry();

	/**
	 * Sets the country of this p r user.
	 *
	 * @param country the country of this p r user
	 */
	public void setCountry(String country);

	/**
	 * Returns the phone number of this p r user.
	 *
	 * @return the phone number of this p r user
	 */
	@AutoEscape
	public String getPhoneNumber();

	/**
	 * Sets the phone number of this p r user.
	 *
	 * @param phoneNumber the phone number of this p r user
	 */
	public void setPhoneNumber(String phoneNumber);

	/**
	 * Returns the email of this p r user.
	 *
	 * @return the email of this p r user
	 */
	@AutoEscape
	public String getEmail();

	/**
	 * Sets the email of this p r user.
	 *
	 * @param email the email of this p r user
	 */
	public void setEmail(String email);

	/**
	 * Returns the birth date of this p r user.
	 *
	 * @return the birth date of this p r user
	 */
	public Date getBirthDate();

	/**
	 * Sets the birth date of this p r user.
	 *
	 * @param birthDate the birth date of this p r user
	 */
	public void setBirthDate(Date birthDate);

	/**
	 * Returns the gender of this p r user.
	 *
	 * @return the gender of this p r user
	 */
	@AutoEscape
	public String getGender();

	/**
	 * Sets the gender of this p r user.
	 *
	 * @param gender the gender of this p r user
	 */
	public void setGender(String gender);

	/**
	 * Returns the user ID of this p r user.
	 *
	 * @return the user ID of this p r user
	 */
	public long getUserId();

	/**
	 * Sets the user ID of this p r user.
	 *
	 * @param userId the user ID of this p r user
	 */
	public void setUserId(long userId);

	/**
	 * Returns the user uuid of this p r user.
	 *
	 * @return the user uuid of this p r user
	 * @throws SystemException if a system exception occurred
	 */
	public String getUserUuid() throws SystemException;

	/**
	 * Sets the user uuid of this p r user.
	 *
	 * @param userUuid the user uuid of this p r user
	 */
	public void setUserUuid(String userUuid);

	/**
	 * Returns the company ID of this p r user.
	 *
	 * @return the company ID of this p r user
	 */
	public long getCompanyId();

	/**
	 * Sets the company ID of this p r user.
	 *
	 * @param companyId the company ID of this p r user
	 */
	public void setCompanyId(long companyId);

	/**
	 * Returns the group ID of this p r user.
	 *
	 * @return the group ID of this p r user
	 */
	public long getGroupId();

	/**
	 * Sets the group ID of this p r user.
	 *
	 * @param groupId the group ID of this p r user
	 */
	public void setGroupId(long groupId);

	@Override
	public boolean isNew();

	@Override
	public void setNew(boolean n);

	@Override
	public boolean isCachedModel();

	@Override
	public void setCachedModel(boolean cachedModel);

	@Override
	public boolean isEscapedModel();

	@Override
	public Serializable getPrimaryKeyObj();

	@Override
	public void setPrimaryKeyObj(Serializable primaryKeyObj);

	@Override
	public ExpandoBridge getExpandoBridge();

	@Override
	public void setExpandoBridgeAttributes(BaseModel<?> baseModel);

	@Override
	public void setExpandoBridgeAttributes(ExpandoBridge expandoBridge);

	@Override
	public void setExpandoBridgeAttributes(ServiceContext serviceContext);

	@Override
	public Object clone();

	@Override
	public int compareTo(PRUser prUser);

	@Override
	public int hashCode();

	@Override
	public CacheModel<PRUser> toCacheModel();

	@Override
	public PRUser toEscapedModel();

	@Override
	public PRUser toUnescapedModel();

	@Override
	public String toString();

	@Override
	public String toXmlString();
}